package org.dandelion.config
{
	import mx.controls.Alert;
	import mx.core.FlexGlobals;
	import mx.core.UIComponent;
	import mx.effects.Effect;
	import mx.rpc.events.FaultEvent;
	
	import org.dandelion.cover.BaseCaver;
	import org.dandelion.cover.CoverWindow;
	
	/**
	 * 此类用于对框架进行动态配置
	 * */
	public class DandelionCofig
	{
//		private static var _instance:DandelionCofig = null;
		
		/**调用远程service出错，处理错误信息的函数 
		 * 默认处理方式为 Alert.show(e.fault.toString(),"错误信息");
		 * */
		public static var faultMethod:Function = function(e:FaultEvent):void{Alert.show(e.fault.toString(),"错误信息")};
		
		
		/** 
		 * AMF通信使用的通道ID
		 * services-config.xml文件中配置的Channel的ID
		 * */
		public static var defaultAMFChannel:String;
		/** 
		 * 消息推送使用的通道ID 一般为轮训或者长效连接的Channel
		 * services-config.xml文件中配置的Channel的ID
		 * */
		public static var defaultMessageChannel:String;
		
		/**
		 * 使用DandelionPopUp弹出窗口时播放的效果数
		 * */
		public static var popupShowEffect:Effect;
		/**
		 * 使用DandelionPopUp移除弹出窗口时播放的效果数
		 * */
		public static var popupRemoveEffect:Effect;
		
		/**
		 * 在显示遮罩层的时候，用此对象来决定遮罩层的大小。 系统默认是使用Application，即遮罩整个应用 
		 **/
		public static var coverArea:UIComponent = FlexGlobals.topLevelApplication as UIComponent;
		
		/**
		 * 遮罩窗,及遮罩窗的效果
		 * */
		public static var coverwindow:BaseCaver = new CoverWindow();
		
		
		public function DandelionCofig()
		{
			throw new Error("Error: Static class can't instantiation!");
		}
	}
}